package com.miyu.system.service.menu;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.miyu.system.pojo.system.SysMenu;

/**
 * 系统菜单服务
 *
 * @author longm
 * @date 2022/10/04
 */
public interface SysMenuService {

    /**
     * 系统菜单编辑
     * @param menu 菜单
     * @return {@link SysMenu}
     */
    SysMenu sysMenuEdit(SysMenu menu);

    /**
     * 查询菜单
     * @param params 参数个数
     * @return {@link JSONArray}
     */
    JSONArray queryMenu(JSONObject params);

    /**
     * ▽删除系统菜单
     * @param sysMenu 参数个数
     * @return {@link JSONObject}
     */
    JSONObject delSysMenu(SysMenu sysMenu);

    /**
     * 获取系统菜单通过权威
     * @param params 参数个数
     * @return {@link JSONArray}
     */
    JSONArray getSysMenuByAuthority(JSONObject params);

    /**
     * 查询系统菜单
     * @param params 参数个数
     * @return {@link JSONArray}
     */
    JSONArray querySysMenu(JSONObject params);

    /**
     * 获取菜单路由
     * @return {@link JSONArray}
     */
    JSONArray getRoutes();

    /**
     * 获取系统菜单通过权威
     * 左侧菜单查询 （ cos）
     * @param params params
     * @return jsonarray
     */
    JSONArray getCosMenuByAuthority(JSONObject params);

    /**
     * 按空间 ID 获取菜单列表
     *
     * @param params 参数
     * @return {@link JSONArray }
     */
    JSONArray getMenuListBySpaceId(JSONObject params);
}
